package ar.edu.unq.tpi.labso.rochi.agendaRochi.Wicket.apliccion;

import java.util.List;

import ar.edu.unq.tpi.labso.rochi.agendaRochi.nuevosGenericos.DatProvider;

import model.Aplicacion.Agenda;
import simulaPersistencia.EventoHome;
import clasesPrincipales.Evento;

public class EventoDatProvider extends DatProvider<Evento>{
	
	private static final long serialVersionUID = 1L;
	public EventoDatProvider(){
		this.guardador = ((EventoHome)Agenda.getHome(Evento.class)).buscarTodos();
	}
	public Evento getSeleccionado() {
		return (Evento) this.seleccionado;
	}
	
	public List<Evento> todos() {
		return  ((EventoHome)Agenda.getHome(Evento.class)).buscarTodos();
	}
	@Override
	public Class<Evento> clase() {
		return Evento.class;
	}
	
	public void buscar(AproximandoAlEvento example){//no generico, se redefine
		List<Evento>todos = ((EventoHome)Agenda.getHome(Evento.class)).buscarTodos();
		this.guardador = BuscaEntreFechas.search(todos, example);
	}
	
	
	//////////////////////////////codigo innecesario
//	private static final long serialVersionUID = 1L;
//	private List<Evento>guardaEvento;
//	private Evento seleccionado;

//	public void buscar(AproximandoAlEvento example){//no me sale hacerlo generico
//				List<Evento>todos = ((EventoHome)Agenda.getHome(Evento.class)).buscarTodos();
//		this.guardador = BuscaEntreFechas.search(todos, example);
//	}
//	public void agregar(Evento defaultModelObject) {//no me sale hacerlo generico
//		((EventoHome)Agenda.getHome(Evento.class)).agregar(defaultModelObject);
//		this.guardador =((EventoHome)Agenda.getHome(Evento.class)).buscarTodos();
//	}
//	public void editar(Evento example) {//no me sale hacerlo generico
//		((EventoHome)Agenda.getHome(Evento.class)).actualizar(example);
//		this.guardador =((EventoHome)Agenda.getHome(Evento.class)).buscarTodos();
//	}
//	public void detach() {
//	
//	}

//	public Iterator<? extends Evento> iterator(int first, int count) {
////		/* Lista de resultados */
////		List<Evento>resultados = new LinkedList<Evento>();
////		for(int i= first ; i<count; i++){
////			resultados.add(guardador.get(i));
////		}
////		return resultados.iterator();
//		
//		return (Iterator<Evento>)super.iterator(first, count);
//
//	}

//	public int size() {
//		return guardador.size();
//	}

//	public IModel<Evento> model(Evento object) {
//		//return new CompoundPropertyModel<Evento>(object);
//		return (IModel<Evento>)super.model(object);
//
//	}








}
